import axios from './axios';

const BASE_URL = '/api/role';

// 分页查询角色列表
export function getRolePage(data) {
  return axios.post(`${BASE_URL}/page`, data);
}

// 获取所有角色列表
export function getRoleList(params) {
  return axios.get(`${BASE_URL}/list`, { params });
}

// 获取角色详情
export function getRoleById(id) {
  return axios.get(`${BASE_URL}/${id}`);
}

// 创建角色
export function addRole(data) {
  return axios.post(`${BASE_URL}`, data);
}

// 更新角色
export function updateRole(data) {
  return axios.put(`${BASE_URL}/${data.id}`, data);
}

// 删除角色
export function deleteRole(id) {
  return axios.delete(`${BASE_URL}/${id}`);
}

// 获取用户已分配的角色
export function getUserRoles(userId) {
  return axios.get(`${BASE_URL}/user/${userId}`);
}

// 分配用户角色
export function assignUserRoles(userId, roleIds) {
  return axios.post(`${BASE_URL}/user/${userId}/assign`, roleIds);
}

// 获取角色菜单（去除按钮）
export function getRoleMenus(roleId) {
  return axios.get(`/system/menu/role/${roleId}`);
}

// 分配角色菜单
export function updateRoleMenus(roleId, menuIds) {
  return axios.post(`/system/menu/role/${roleId}/assign`, menuIds);
} 